const express = require('express')
let app=express()
app.listen(3000,()=>{console.log('3000ok')})


// 1、引入文件上传中间件
const formidable=require("formidable")
const path = require('path');
const fs = require('fs');


app.post("/uploads",(req,res)=>{

    //2、接收文件上传信息,并且设置文件上传目录
    let form=formidable({
        uploadDir: path.join(__dirname,"./tempdir") ,//文件上传目录(临时上传目)
    })


    // 3、解析信息
    form.parse(req,(err,fields,files)=>{
        // 接收解析过后的信息
        if(err){
            res.send("文件解析失败")
            return
        }

        // console.log(fields);


        // console.log(files);
        // res.send(files)
        // 重命名：fs.renameSync(旧路径,新路径)
        // let {touxiang:{filepath:oldpath}}=files
        // console.log(oldpath);

        let oldpath=files.touxiang.filepath
        let newname=files.touxiang.originalFilename
        let newpath=path.join(__dirname,"./uploads",newname)
        
        try {
            fs.renameSync(oldpath,newpath)
        } catch (error) {
            // console.log(1111,error,222222222);
            if(error){
                res.send("文件上传失败")
                return
            }
        }

        res.send("文件上传成功")

    })    
})



/* {
    "touxiang": {
        "size": 2233,
        "filepath": "C:\\Users\\IBM\\Desktop\\软件学院0906\\day13express中间件\\代码\\文件上传\\tempdir\\fdae7b1ea5214c066bf909400",
        "newFilename": "fdae7b1ea5214c066bf909400",
        "mimetype": "image/png",
        "mtime": "2022-04-01T07:57:47.646Z",
        "originalFilename": "cts-微信.png"
    }
} */